/*
 * UserLocation.h
 *
 *  Created on: 2013. 11. 25.
 *      Author: the2
 */

#ifndef USERLOCATION_H_
#define USERLOCATION_H_

namespace ProjectZ {
class User;
namespace NLogic {

class UserLocation {

public:
	struct Data
	{
		unsigned int _serverID;
		unsigned int _channelID;

		Data() : _serverID(0), _channelID(0) {}

		void Clear()
		{
			_serverID = 0;
			_channelID = 0;
		}
	};

public:
	UserLocation(User * pUser);
	virtual ~UserLocation();

	void Initialize();

	Data * GetData() { return _pData; }

	void SetUserLocation(unsigned int channelID);
	void DelUserLocation();

private:
	Data * _pData;
	User * _pUser;
};

} /* namespace NLogic */
} /* namespace ProjectZ */

#endif /* USERLOCATION_H_ */
